package com.task.core.service;


import com.task.common.domain.info.KeyAndValue;
import com.task.core.domain.DataScriptTypeInfo;
import com.task.core.dto.request.DataScriptTypeRequestDTO;
import com.task.core.vo.resp.DataScriptTypeDetailRespVo;

import java.util.List;

/**
 * 脚本类型管理(DataScriptType)表服务接口
 *
 * @author makejava
 * @since 2025-02-26 10:31:48
 */
public interface DataScriptTypeService {

    /**
     * 新增脚本类型
     * @param request
     * @return
     */
    void addScriptType(DataScriptTypeRequestDTO request);

    /**
     * 获取脚本类型选项
     * @param request
     * @return
     */
    List<KeyAndValue> getScriptTypeForOption(DataScriptTypeRequestDTO request);

    List<DataScriptTypeInfo> getScriptTypeByPage(DataScriptTypeRequestDTO request);

    void modifyScriptType(DataScriptTypeRequestDTO request);

    void deleteScriptType(String scriptTypeCode, Long userId);

    DataScriptTypeInfo getScriptTypeCode(String fileTypeCode);

    DataScriptTypeDetailRespVo getScriptTypeDetail(String scriptTypeCode);
}
